﻿#pragma execution_character_set("utf-8")
#include <iostream>
#include <string>
#include <sstream>
#include <windows.h>
#include <vector>

// #include "OTKXString.h"
// #include "OTKXString.cpp"
// #include "logger.cpp"
// #include <stdio.h>
// #include <direct.h>
// #include <fstream>
// #include <vector>
// #include <algorithm>
// #include <io.h>
// #include <wxyutils.h>
// #include "wxyutils.cpp"
// #include <cipxx.h>
// #include <pfcGlobal.h>
// #include <regex>
using namespace std;
int str2int(const string istr);
string int2str(int i);
class _data
{
public:
    int index;
    string data;

public:
    _data(int i, string d)
    {
        index = i;
        data = d;
    }
};
int main()
{

    // smatch result;
    // regex e(".*?:([\\\\/].*?)\\..*?");  //e:/creo\test/file. /creo\test/file
    // regex e2(".*[\\\\/]");              //e:/creo/test/
    // regex e3("^.+\\.(.*?)$");           //e:/creo/tes.t/file.ext ext
    // regex e4("^.+[\\\\/](.*?)\\..*?$"); //e:\creo/tes.t/file.ext file
    // regex e5("^.+\\.(\\d*?)$");
    // regex e6(".+\\.(.*?)\\..*?$");
    // try
    // {
    //     if (regex_search(test, result, e6))
    //     {
    //         for_each(result.begin(), result.end(), [](string i)
    //                  { cout << i << endl; });
    //         cout << result[1].str() << endl;
    //         // test = (result.end() - 1)->str();
    //         // strtok((char *)(test.c_str()), ".");
    //     }
    // }
    // catch (exception e)
    // {
    //     cout << e.what() << endl;
    // }
    // return 0;
    // initLogger("log.info", "warn.info", "err.info");
    // char *path = "E:\\00工作\\百胜\\控制面板\\1.5加工图纸";
    // // if ((path = getcwd(NULL, 0)) == NULL)
    // //     return 0;
    // vector<_FileExt> files;
    // ListFileByType(path, "*.drw.*", files);
    // for_each(files.begin(), files.end(), [](_FileExt i)
    //          { cout << i.filepath << "\t" << i.extension << "\t" << i.version << "\t" << i.filename << endl; });
    system("pause");
    return 0;
}

//string->int
int str2int(const string istr)
{
    istringstream ss;
    ss.str(istr);
    int ret = 0;
    ss >> ret;
    return ret;
}
//int->string
string int2str(int i)
{
    ostringstream os;
    os << i;
    string ret;
    ret = os.str();
    return ret;
}